package com.xinqi.modules.course.clazz.dto.req;


import com.xinqi.common.green.annotation.Text;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 班级分组表-请求对象
 *
 * @author: system
 * @date: 2023/01/17
 */
@Data
@Schema(name = "班级分组表-新增")
public class ClassGroupCreateDTO implements Serializable {

    private Long id;
    /**
     * 课程id
     */
    private Long courseId;
    /**
     * 班级id
     */
    @NotNull(message = "班级id不能为空")
    private Long classId;
    /**
     * 父分组id，默认为0
     */
    private Long pid;
    /**
     * 分组名称
     */
    @Text
    private String name;

    /**
     * FREEDOM("FREEDOM", "学生自由分组"),
     * SPECIFIED("SPECIFIED", "老师指定分组"),
     * RANDOM("RANDOM", "系统随机分组");
     */
    private String type;

    /**
     * 是否打开系统随机分组，只在老师分组的时候可选,1-是，0-否，默认为0
     */
    private Integer isRandom;
    /**
     * 每组人数
     */
    private Integer memberNum;
    /**
     * 最大组数
     */
    private Integer maxGroupNum;
    /**
     * 分组数
     */
    private Integer groupNum;
    /**
     * 截止时间
     */
    private Long lastTime;
    /**
     * 自由分组学生的约定数字
     */
    private String number;
    /**
     * 分组规则
     */
    @Text
    private String rule;

    /**
     * 口令
     */
    private String sign;

    @Schema(title = "操作用户ID(内部流转参数，不对外)", hidden = true)
    private Long operationUserId;
}
